dnl Process this file with autoconf to produce a configure script.

dnl Note: the banner comments below are intentionally done in shell syntax.
dnl These help me identify sections of the configure script produced
dnl by autoconf.  Some comments might appear inane and obvious, but again
dnl they are there to delimit sections in the output configure script.

##############################################################################
################ Setup #######################################################
##############################################################################

AC_INIT(src/mkid.c)
AC_CONFIG_HEADER(config.h)
AC_PREREQ(2.10)
AC_ARG_PROGRAM

##############################################################################
################ Identify Package ############################################
##############################################################################

PACKAGE=id-utils
VERSION=3.2
PACKAGE_VERSION="GNU $PACKAGE $VERSION"
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
AC_DEFINE_UNQUOTED(PACKAGE_VERSION, "$PACKAGE_VERSION")
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
AC_SUBST(PACKAGE_VERSION)

##############################################################################
################ Maintainer Stuff ############################################
##############################################################################

AM_MAINTAINER_MODE

ALL_LINGUAS="de fr"

changequote(,)dnl
case $VERSION in
*[a-z]) README_ALPHA=README-alpha;;
*)      README_ALPHA=;;
esac
changequote([, ])dnl
AC_SUBST(README_ALPHA)

##############################################################################
################ Check for tools #############################################
##############################################################################

AC_PROG_CC
AC_PROG_LN_S
AM_PROG_INSTALL
AC_PROG_MAKE_SET
AC_PROG_CPP
AC_PROG_GCC_TRADITIONAL
AC_PROG_RANLIB
AC_AIX
AC_MINIX
AC_ISC_POSIX

##############################################################################
################ Check for libraries #########################################
##############################################################################

dnl no library checks

##############################################################################
################ Check for header files ######################################
##############################################################################

AC_HEADER_DIRENT
AC_HEADER_STDC
AC_HEADER_STAT
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS(sys/types.h sys/param.h sys/stat.h sys/ioctl.h)
AC_CHECK_HEADERS(limits.h stddef.h stdlib.h unistd.h string.h fcntl.h)
AC_CHECK_HEADERS(malloc.h termios.h termio.h sgtty.h regex.h memory.h)

##############################################################################
################ Check for typedefs, structs, and compiler params ############
##############################################################################

AC_C_CONST
AM_C_PROTOTYPES
AC_TYPE_SIGNAL
AC_TYPE_OFF_T
AC_TYPE_SIZE_T
md_TYPE_PTRDIFF_T

##############################################################################
################ Set default compilation flags ###############################
##############################################################################

: ${CFLAGS="-O -g"}
: ${LDFLAGS=-g}
AC_SUBST(CFLAGS)
AC_SUBST(LDFLAGS)

##############################################################################
################ Check for library functions & system calls ##################
##############################################################################

AC_FUNC_ALLOCA
ud_WITH_REGEX
AC_FUNC_VPRINTF
AC_CHECK_FUNCS(getwd getcwd link strerror isascii bcopy bzero memcpy)
AC_REPLACE_FUNCS(strdup strndup strspn strcspn strpbrk strstr strtok)
AC_REPLACE_FUNCS(basename dirname fnmatch error memcpy memset)
AC_REPLACE_GNU_GETOPT
AC_REPLACE_OBSTACK

##############################################################################
################ Internationalization ########################################
##############################################################################

ud_GNU_GETTEXT
AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)

##############################################################################
################ Find a home for language map ################################
##############################################################################

if test "x$prefix" != xNONE; then
    datadir=$prefix/share
else
    datadir=$ac_default_prefix/share
fi
LANGUAGE_MAP_FILE=$datadir/id-lang.map
AC_DEFINE_UNQUOTED(LANGUAGE_MAP_FILE, "$LANGUAGE_MAP_FILE")
AC_SUBST(LANGUAGE_MAP_FILE)

##############################################################################
################ Find a home for Emacs Lisp code #############################
##############################################################################

ud_PATH_LISPDIR

##############################################################################
################ Generate the configure script ###############################
##############################################################################

AC_OUTPUT([Makefile doc/Makefile lib/Makefile libidu/Makefile src/Makefile lisp/Makefile intl/Makefile po/Makefile.in testsuite/Makefile],
	[sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile; \
	 test -z "$CONFIG_HEADERS" || echo timestamp >stamp-h])

##############################################################################
################ Done ########################################################
##############################################################################
